package com.airlines.system.service;

import com.airlines.base.service.base.BaseService;
import com.airlines.system.domain.SysUser;

import java.util.List;

public interface SysUserService extends BaseService<SysUser, String> {

	/**
	 * 根据账号查询用户
	 * 
	 * @param workNo
	 * @return
	 */
	SysUser getUserByWorkNo(String workNo);

	/**
	 * 根据账号查询用户
	 * 
	 * @param userName
	 * @return
	 */
	SysUser getUserByUserName(String userName);

	/**
	 * 判断用户状态是可用还是禁用 用户为空，不可用 用户状态不可用，不可用
	 * 
	 * @param sysUser
	 * @return
	 */
	boolean userUsable(SysUser sysUser);

	/**
	 * 查找系统的所有用户或者根据条件查找指定的用户
	 * 
	 * @param userNo
	 * @param userName
	 * @return
	 */
	List<SysUser> findAllUser(String userNo, String userName);

	/**
	 * 查找该系统所有角色
	 * @param userId
	 */
	SysUser findAllRole(String userId);

	/**
	 * 查找该用户拥有的角色
	 * @param userId
	 */
    SysUser findOwnRole(String userId);
}
